using System;
using System.Collections.Generic;
using Managistics.Model;
using Managistics.Model.ValueObject;
using Managistics.Core.Services;

namespace Managistics.Core.Repositories
{
    public interface IPurchaseOrderRepository : IRepository<PurchaseOrder, string>
    {
        //List<PurchaseOrder> GetPurchaseOrder(PurchaseOrderVO purchaseOrder);
        List<PurchaseOrder> GetPurchaseOrders(PurchaseOrderParam p);

        /// <summary>
        /// Get all ordered purchase and detail of it
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="supplierCode"></param>
        /// <param name="goodCode"></param>
        /// <returns></returns>
        IList<PurchaseOrderDetail> GetPurchaseOrderedDetail(DateTime startDate, DateTime endDate, string supplierCode, string goodCode);
    }
}